
package com.feib.soeasy.model;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;


/**
 * @title (#)RealAccount.java<br>
 * @description 帳單業者實體帳戶<br>
 * @author Jimmy Liu<br>
 * @version 1.0.0 2010/11/25
 * @copyright Far Eastern International Bank Copyright (c) 2010<br>
 * @2010/11/30 create by Jimmy Liu<br>
 */
@Entity
@Table(name = "REAL_ACCOUNT")
public class RealAccount extends BaseEntity {

    private static final long serialVersionUID = -4297133390379967097L;
    
    /**
     * PK in Table
     */
    private Long realAccountPk;

    /**
     * 所屬帳單業者</br>
     */
    private Group group;


    /**
     * 虛擬帳號
     */
    private String virtualAccountNo;

    /**
     * 實體帳戶
     */
    private String accountNo;
    
    /**
     * 合作夥伴 公司代碼
     */
    private String partnerNo;
    
    
    /**
     * @return the realAccountPk
     */
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name="REAL_ACCOUNT_PK", nullable=false)
    public Long getRealAccountPk() {
        return realAccountPk;
    }

    
    /**
     * @param realAccountPk the realAccountPk to set
     */
    public void setRealAccountPk(Long realAccountPk) {
        this.realAccountPk = realAccountPk;
    }

    
    /**
     * @return the group
     */
    @ManyToOne
    @JoinColumn(name="GROUP_PK", nullable=false)
    public Group getGroup() {
        return group;
    }

    
    /**
     * @param group the group to set
     */
    public void setGroup(Group group) {
        this.group = group;
    }

    
    /**
     * @return the accountNo
     */
    @Column(name="ACCOUNT_NO", nullable=false, length=20)
    public String getAccountNo() {
        return accountNo;
    }

    
    /**
     * @param accountNo the accountNo to set
     */
    public void setAccountNo(String accountNo) {
        this.accountNo = accountNo;
    }
    
    
    /**
     * @return the virtualAccountNo
     */
    @Column(name="VIRTUAL_ACCOUNT_NO", nullable=false, length=10)
    public String getVirtualAccountNo() {
        return virtualAccountNo;
    }


    
    /**
     * @param virtualAccountNo the virtualAccountNo to set
     */
    public void setVirtualAccountNo(String virtualAccountNo) {
        this.virtualAccountNo = virtualAccountNo;
    }


    
    /**
     * @return the partnerNo
     */
    @Column(name="PARTNER_NO", nullable=false, length=20)
    public String getPartnerNo() {
        return partnerNo;
    }


    
    /**
     * @param partnerNo the partnerNo to set
     */
    public void setPartnerNo(String partnerNo) {
        this.partnerNo = partnerNo;
    }

}
